2025-01-11

2025-01-11


๐Ÿ“ Notes


๐Ÿ“… 2025-01-11 Daily Briefing

๐ŸŽต ์˜ค๋Š˜์˜ ์ถ”์ฒœ๊ณก

๐Ÿƒ ์˜ค๋Š˜์˜ ์šด๋™

๐ŸŒž ์˜ค๋Š˜์€...

๐ŸŒœ ์–ด์ œ๋Š”...

๐Ÿ“– ์˜ค๋Š˜์˜ ์ฝ๊ธฐ๋ชฉ๋ก

โฐ Daily Routine

24๋…„ 12์›”์˜ ๋ฐ์ผ๋ฆฌ ๋ฃจํ‹ด

๐Ÿš€ WHY, HOW, WHAT

์˜ค๋Š˜ ํ•˜๋ฃจ์˜ ๋™๊ธฐ๋ฅผ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ด…์‹œ๋‹ค. ์˜ค๋Š˜์˜ ์‹ ๋…, ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•, ์˜ค๋Š˜์˜ ์„ฑ๊ณผ์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•ด๋ด…์‹œ๋‹ค.

๊ฐœ์š”

๋ชจ๋ธ๋ง์€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ์˜๋„์ ์œผ๋กœ ๊ฐ€๋ฆฌ๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋‹จ์ˆœํ™”๋œ ์‹œ๊ฐ์„ ์ œ๊ณตํ•ด์ฃผ๋Š”๊ฒƒ์— ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๋ชจ๋ธ๋ง์€ ์™„์ „ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์˜คํžˆ๋ ค ๋ชจ๋“  ๊ฒƒ์„ ์žƒ์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ ๋‚ด ์˜ต์‹œ๋””์–ธ์„ ๋ด๋„ ๊ทธ๋ ‡๋‹ค. ๋ฐ์ผ๋ฆฌ ๋…ธํŠธ๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์—ฐ๊ฒฐํ•ด์˜ค๊ณ  ์žˆ์—ˆ๋˜ ์ฐธ์ด๋ผ ์ด์ œ ์™€์„œ ๋ณด๋‹ˆ ์—ฐ๊ฒฐ๋‹นํ•œ ๋ฌธ์„œ๋Š” ๋งˆ์น˜ ๋ฐ์นด๋ฅดํŠธ๊ณฑ์…ˆ์ด ๋˜์–ด๋ฒ„๋ ค ๊ต‰์žฅํžˆ ๋น„๋Œ€ํ•ด์ง„ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋นฝ๋นฝํ•˜๊ฒŒ ๋Š˜์–ด์ง„ ๊ทธ๋ž˜ํ”„ ๋ทฐ๋ฅผ ๋ณด๋ฉฐ ๋‚˜๋Š” ์ด ๊ทธ๋ž˜ํ”„์—์„œ ์–ด๋–ค ์—ฐ๊ด€์„ฑ๋„ ์ฐพ์„ ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ธ”๋กœ๊ทธ๋ฅผ ๋‹ค์‹œ ๊ฐœํŽธํ•˜๋ฉด์„œ ๋ฌธ์„œ๊ฐ„์— ๋งฅ๋ฝ์„ ์–ด๋–ป๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ์ข‹์„์ง€ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. ๋ธ”๋กœ๊ทธ๋Š” ๋ธ”๋กœ๊ทธ๋Œ€๋กœ, ๋ฐ์ผ๋ฆฌ ๋…ธํŠธ๋Š” ๋ฐ์ผ๋ฆฌ๋…ธํŠธ๋Œ€๋กœ, ์œ„ํ‚ค๋Š” ์œ„ํ‚ค๋Œ€๋กœ ๊ฐ์ž์˜ ๋ชฉ์ ์„ ์ด๋ฃจ๋„๋ก ๋ชจ๋ธ๋งํ•ด์•ผํ•œ๋‹ค. ์–ด๋Š์ •๋„๋Š”, ๊ฝค ์ž˜ ์ •๋ฆฌ๊ฐ€ ๋œ ํŽธ์ด๋‹ค. welcome ๋Š” ๋ชจ๋“  ์œ„ํ‚ค์˜ ์ถœ๋ฐœ์ง€๋กœ, ๊ฐ ์ฃผ์ œ๋ณ„๋กœ ๋ฌธ์„œ ์ด๋ฆ„ ์•ž์— ID๋ฅผ ๋ถ™์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. Daily Notes๋Š” ๋‚ด ์ผ๊ธฐ์žฅ์œผ๋กœ, ์ผ์ผ ๋ธŒ๋ฆฌํ•‘๊ณผ ๋ฐ์ผ๋ฆฌ ๋ฃจํ‹ด, ์˜ค๋Š˜์˜ ์‹ ๋… ๋“ฑ์„ ์ž‘์„ฑํ•˜๋Š” ๊ณต๊ฐ„์ด๋‹ค. ๋ธ”๋กœ๊ทธ๋Š” ์•„์ง ์ œ๋Œ€๋กœ ๋งˆ๋ จ์ด ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค. ์œ„ํ‚ค ์ค‘์—์„œ ๊ฐœ๋ณ„๋กœ ํผ๋ธ”๋ฆฌ์‹œ๊ฐ€ ๋  ์ •๋„๋กœ ์™„์„ฑ๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๋ฅผ ๋ธ”๋กœ๊ทธ๋กœ๋„ ๋‚ด๋ณด๋‚ผ ์ˆ˜๋Š” ์žˆ๊ฒ ์ง€๋งŒ ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.

๋ฐ์ผ๋ฆฌ๋…ธํŠธ, ์œ„ํ‚ค, ๋ธ”๋กœ๊ทธ ๊ฐ์ž์˜ ๋ชฉํ‘œ๊ฐ€ ๋šœ๋ ทํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ์„œ๋ธŒ ๋„๋ฉ”์ธ ๋˜๋Š” URI๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด daily.choiwheatley.com, wiki.choiwheatley.com ์ด๋ ‡๊ฒŒ ๋ง์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ๊ฐ์˜ ๋„๋ฉ”์ธ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ํ…Œ๋งˆ, ์‹ฌ์ง€์–ด ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์จ๋„ ๋œ๋‹ค. ๋งํฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋ƒ๊ณ ? ๋ชฐ๋ผ, nginx๊ฐ€ ๋ถ„๋ฐฐํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ์ง€ ๋ญ.

Requirements

URI ๊ตฌ์„ฑ

  • blog.choiwheatley.com: ๋ธ”๋กœ๊ทธ ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค. ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€๋“ค์ด ์‹œ๊ฐ„ ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ๋‚˜ํƒ€๋‚œ๋‹ค. ํŽ˜์ด์ง€๋“ค์„ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋ฆฌ์ŠคํŠธ ๋ทฐ๋กœ ๋ณด์—ฌ์ฃผ๊ณ , ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ ๊ฐค๋Ÿฌ๋ฆฌ ๋ทฐ๋กœ๋„ ์ถœ๋ ฅ ๊ฐ€๋Šฅํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.
  • daily.choiwheatley.com: ๋ธ”๋กœ๊ทธ ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค. ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€๋“ค์ด ์‹œ๊ฐ„ ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ๋‚˜ํƒ€๋‚œ๋‹ค.
  • choiwheatley.com/path-to-document: ๋ชจ๋“  ํŽ˜์ด์ง€์˜ URI๋Š” ๊ณ ์œ ํ•œ Path๋ฅผ ๊ฐ–๋Š”๋‹ค. ์œ„ํ‚ค ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค.

๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ๋‹ค์Œ ๋‚ด์šฉ์„ ํฌํ•จํ•˜์—ฌ์•ผ ํ•œ๋‹ค

  • Title
  • Body
  • relations
    • incoming
    • outgoing
  • frontmatter
  • table of contents: ์šฐ์ธก ์‚ฌ์ด๋“œ๋ฐ”
  • ๊ฒ€์ƒ‰: Title ๊ธฐ์ค€ ๊ฒ€์ƒ‰
  • preview: ! [ [ ] ]
    • image
    • other document
    • excalidraw
  • (OPTIONAL) dataview result (dataview, dataviewjs)

double brackets [ [ ] ]๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 0070 Obsidian ๐Ÿ’Ž ์ด๋ ‡๊ฒŒ ๋งํฌ๋ฅผ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ, [ [ 0070 Obsidian|obsidian ] ]์™€ ๊ฐ™์ด alias๋„ ์ง€์›ํ•˜์—ฌ์•ผ ํ•˜๋ฉฐ, [ [ 0070 Obsidian#์ปค๋ฎค๋‹ˆํ‹ฐ ] ]์™€ ๊ฐ™์ด ํ—ค๋”ฉ ๋งํฌ๋„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด document preview๋„ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค:

Images

์ด๋ฏธ์ง€๋Š” Git LFS์— ์ €์žฅ์ด ๋œ ์ •์  ํŒŒ์ผ URL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ํ˜„์žฌ (2025-01-13 ๊ธฐ์ค€) ๋‚ด mkdocs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋กœ๊ทธ๋Š” ์ด ์ด๋ฏธ์ง€๋ฅผ URL์„ธํŒ…์ด ์•ˆ๋˜์–ด์žˆ์–ด ๋ชจ๋“  ์ด๋ฏธ์ง€๊ฐ€ ๋ถˆ๋Ÿฌ์™€์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ์•ˆ๊ณ ์žˆ๋‹ค.

Pasted image 20240916210505.png

Excalidraws

Excalidraw๋„ ๋˜ํ•œ ! [ [ **.excalidrawfile ] ] ์™€ ๊ฐ™์ด preview๊ฐ€ ์ง€์›๋˜์–ด์•ผ ํ•œ๋‹ค. ์˜ˆ์‹œ:

Code Fence

๊ฑฐ์˜ ๋ชจ๋“  ์ฝ”๋“œ๋ธ”๋Ÿญ์˜ syntax highlighting์„ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค. Python, C, C++, Javascript, Typescript, Java, Docker, json, shell, toml๊ฐ€ ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ.

# Python: Simple function to calculate factorial
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

print(factorial(5))
// C: Program to calculate the sum of two numbers
#include <stdio.h>

int main() {
    int a, b, sum;
    printf("Enter two integers: ");
    scanf("%d %d", &a, &b);
    sum = a + b;
    printf("Sum: %d\n", sum);
    return 0;
}
// C++: Example of a simple class
#include <iostream>
using namespace std;

class Animal {
public:
    void speak() {
        cout << "I am an animal!" << endl;
    }
};

int main() {
    Animal dog;
    dog.speak();
    return 0;
}
// JavaScript: Function to reverse a string
function reverseString(str) {
    return str.split("").reverse().join("");
}

console.log(reverseString("hello"));
// TypeScript: Example with type annotations
function greet(name: string): string {
    return `Hello, ${name}!`;
}

console.log(greet("Alice"));
// Java: Simple HelloWorld program
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
# Dockerfile: Simple setup for a Node.js app
FROM node:16

WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "index.js"]
EXPOSE 3000
{
  "name": "example",
  "version": "1.0.0",
  "description": "A simple JSON example",
  "dependencies": {
    "express": "^4.18.2"
  }
}
# TOML: Configuration file example
title = "TOML Example"

[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
enabled = true
# YAML: Sample configuration
version: "3.9"
services:
  web:
    image: nginx
    ports:
      - "80:80"
  app:
    build:
      context: .
      dockerfile: Dockerfile
# Bash: Script to print current date and time
#!/bin/bash

echo "Current date and time:"
date

Mermaid.js

CodeFence๊ฐ€ mermaid.js ๋ฌธ๋ฒ•์œผ๋กœ ์“ฐ์—ฌ์ ธ ์žˆ์„ ๊ฒฝ์šฐ, mermaid graph๋ฅผ ๋ Œ๋”๋งํ•ด์•ผํ•œ๋‹ค. ์˜ˆ:

graph LR;
socket --> connect
connect --> id1["send or write"]
connect --> id2["recv or read"]

Title์„ ๋Œ€์ƒ์œผ๋กœ Fuzzy Search ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค.

dataview

dataview๋งŒ ์ง€์›๋˜๋ฉด ์‚ฌ์‹ค blog, dailynotes๋ฅผ ์ด๊ฑธ๋กœ ๋ Œ๋”๋ง ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๊ทธ ํŽ˜์ด์ง€๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ๋Š” ์ด dataviewjs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์˜ต์‹œ๋””์–ธ์˜, ์˜ต์‹œ๋””์–ธ์„ ์œ„ํ•œ, ์˜ต์‹œ๋””์–ธ์— ์˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๊ธฐ ๋•Œ๋ฌธ์— CI ๋˜๋Š” ๋™์  ๋ Œ๋”๋ง์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๊ต‰์žฅํžˆ ๊นŒ๋‹ค๋กœ์›Œ ๋ณด์ธ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.

Research

Obsidian์œผ๋กœ ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ#Scraps ์ค‘์—์„œ Obsidian webpage export ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋‹ค์šด๋ฐ›์•„ export ํ•ด๋ณด์•˜์œผ๋‚˜, ํŒŒ์ผ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์„œ ์ค‘๊ฐ„์— html๋กœ ๋ณ€ํ™˜ํ•˜๋‹ค๊ฐ€ ๊ณ ์žฅ์ด ๋‚˜๋ฒ„๋ฆฐ๋‹ค.

TODO Obsidian์œผ๋กœ ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ#Digital Garden Plugin์„ ์‹œ๋„ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค. ๋„์ „ํ•ด๋ณด๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž.

Wireframe

Troubleshooting Digital Garden

๐Ÿช‚ PARA

PARA Expert ์— ์œ„์˜ 'Daily Briefing'์„ ๋ณต๋ถ™ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์•„๋ž˜์˜ PARA ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค

[Projects]

[Areas]

[Resources]

[Archive]


์ฝ์„๊ฒƒ๋“ค (dataview)

Notes modified today (dataview)